'''
    自动存取款系统
    1.登录系统
    2.查询余额
    3.存款操作
    4.取款操作
    5.退出系统
    6.界面和交互
'''

# 1.账户信息数据源
acc_list = [
    {'name':'zhangsan','num':'6216260000000821564','money':200000},
    {'name':'lisi','num':'6312230000000234576','money':400000},
    {'name':'zhaoliu','num':'6236280000000329188','money':600000}]

# 2.查询余额函数
def acc_query(name,num):
    # 遍历查找
    for i,user in enumerate(acc_list):
        if user['name'] == name and user['num'] == num:
            print('查询成功，您的余额为:',user['money'])
            break
    else:
        print('查无此账户')
        return None
    return i

# 3.存款函数
def acc_save(name,num,money):
    # 调用查询余额函数,获取索引
    i = acc_query(name, num)
    if i != None:
        print('请存入金额:',money)
        acc_list[i]['money'] += money
        print('您的更新信息为:',acc_list[i])
    else:
        print('无法存入金额')

# 4.取款函数
def acc_take(name,num,money):
    # 调用查询余额函数,获取索引
    i = acc_query(name, num)
    if i != None:
        if money > acc_list[i]['money']:
            print('余额不足')
        else:
            print('请取出金额:', money)
            acc_list[i]['money'] -= money
            print('您的更新信息为:', acc_list[i])
    else:
        print('无法取出金额')

# 4.退出系统
def log_out():
    pass

# 5.登录系统，输出初始界面
def log_in():
    name = input('请输入姓名: ')
    num = input('请输入银行卡号: ')
    while True:
        # 输出初始界面
        print('=' * 12, '账户信息系统', '=' * 12)
        print('{:5}{:13}{:15}'.format(' ', '1.查询余额', '2.存款操作'))
        print('{:5}{:13}{:15}'.format(' ', '3.取款操作', '4.退出系统'))
        print('=' * 40)
        key = input('请输入对应的选择')
        # 根据输入操作值，执行对应操作
        if key == '1':
            print('=' * 12, '查询余额', '=' * 12)
            # 调用查询余额函数
            acc_query(name,num)
            input('按回车继续:')  # 程序临时暂停
        elif key == '2':
            print('=' * 12, '存款操作', '=' * 12)
            save_money = int(input('请输入存入金额: '))
            # 调用存款函数
            acc_save(name,num,save_money)
            input('按回车继续:')  # 程序临时暂停
        elif key == '3':
            print('=' * 12, '取款操作', '=' * 12)
            take_money = int(input('请输入取出金额: '))
            # 调用取款函数
            acc_take(name,num,take_money)
            input('按回车继续:')  # 程序临时暂停
        elif key == '4':
            log_out()
            print('=' * 12, '再见', '=' * 12)
            break
        else:
            print('=' * 12, '操作无效', '=' * 12)

# 登录系统
log_in()

